home *** CD-ROM | disk | FTP | other *** search
/ MacHack 2000 / MacHack 2000.toast / pc / The Hacks / NoShitSherlock / NoShitSherlock Engine.c < prev    next >
C/C++ Source or Header  |  2000-06-23  |  964b  |  37 lines

  1. #include <Applescript.h>
  2. #include <OSA.h>
  3.  
  4. #include <string.h>
  5. #include <stdio.h>
  6.  
  7. Boolean quitting = false;
  8. char *script = "tell application \"Finder\" \r\
  9. activate \r\
  10. try \r\
  11. set x to display dialog \"Enter a search string, Sherlock\" ¬\r\
  12.     default answer \".txt\" default button \"OK\" \r\
  13. set y to text returned of x \r\
  14. select (every file whose name contains y) in front window \r\
  15. on error \r\
  16. end try \r\
  17. end tell \r";
  18.  
  19. void main() {
  20.     ComponentInstance instance = 0;
  21.     AEDesc desc = { typeNull, 0 };
  22.     OSAID osaid = kOSANullScript;
  23.     
  24.     MaxApplZone();
  25.     InitGraf(&qd.thePort);
  26.     instance = OpenDefaultComponent(kOSAComponentType, typeAppleScript);
  27.     if (!instance) goto CLEANUP;
  28.  
  29.     if (AECreateDesc(typeChar, script, strlen(script), &desc)) goto CLEANUP;
  30.     if (OSACompileExecute(instance, &desc, kOSANullScript, 
  31.             kOSAModeAlwaysInteract, &osaid)) SysBeep(7);
  32.     
  33. CLEANUP:
  34.     if (osaid) OSADispose(instance, osaid);
  35.     AEDisposeDesc(&desc);
  36.     CloseComponent(instance);
  37.     }